package com.cuon.ch09.programobject;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;


import android.app.ActivityManager;
import android.app.Dialog;
import android.content.ComponentName;
import android.content.Context;
import android.graphics.Color;

import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;


public class Util {

	/**
	 * InputStreamをByte配列に変換する
	 * @param inputStream
	 * @return byte[]
	 * @throws IOException
	 */
	public static byte[] getByteArrayFromInputStream(InputStream inputStream) throws IOException {
	    ByteArrayOutputStream bout = new ByteArrayOutputStream();
	    byte [] buffer = new byte[1024];
	    while(true) {
	        int len = inputStream.read(buffer);
	        if(len < 0) {
	            break;
	        }
	        bout.write(buffer, 0, len);
	    }
	    return bout.toByteArray();
	}

	/**
	 * Assetsフォルダ内のファイルの存在を確認する。
	 *
	 * @param	context		グローバル環境情報
	 * @param	file_name	ファイル名
	 * @param	foldar		フォルダパス
	 * @return	boolean 	ファイルが存在する(true)、ファイルが存在しない(false)
	 */
	public static boolean isAssetsFileExists(Context context,String file_name,String foldar){

		// 戻り値の初期化
		boolean exist_flg = false;

		// ファイルパスの初期化
		String path = "";

		if(!"".equals(foldar)){
		// フォルダパスが未入力出ない場合

			// フォルダパスとファイル名を結合
			path = foldar + "/" + file_name;
		}else{
		// 一致しなかった場合

			// ファイル名をパスとする
			path = file_name;
		}

		try {
			// ファイルを読み込む
			InputStream fileInputStream = context.getAssets().open(path);

		    if(fileInputStream != null ){
		    // ファイルが存在した場合

		    	// 読める形式で取得できているか確認する
		    	// もしエラーが出た場合catchされるので、フラグがtrueになることはない
		    	fileInputStream.read();

		    	// 戻り値をtrueに変更
		    	exist_flg = true;
		    }
		} catch (FileNotFoundException e) {
		    Log.e("error", e.toString());
		} catch (IOException e) {
		    Log.e("error", e.toString());
		}

		return exist_flg;

	}


}
